www.gusucode.com > 用于人脸识别和人脸定位的主动形状模型(asm)matlab工具箱 > asm toolbox\ScaleRotateTranslate.m

    %%%%%%%%%%%%%%%%%%%%%%%%%%
%(c) Ghassan Hamarneh 1999
%%%%%%%%%%%%%%%%%%%%%%%%%%
function X_out=ScaleRotateTranslate(X_in,s,Theta,tx,ty);
%function X_out=ScaleRotateTranslate(X_in,s,Theta,tx,ty);
% scale rotate THEN translate
%rotates around 0,0


M=[ s*cos(Theta) , -s*sin(Theta); s*sin(Theta) ,  s*cos(Theta) ];
X_out_x=[];
X_out_y=[];
for ind1=1:length(X_in)/2,
   xynew = M * [X_in(ind1);X_in(ind1+length(X_in)/2)] + [tx;ty];
   X_out_x=[X_out_x;xynew(1)];
   X_out_y=[X_out_y;xynew(2)];
end

X_out=[X_out_x;X_out_y];